import { formatMoney } from '../../../../utils/util' // 格式化金额

/**
 * @see 该页面是电子证明和电子成绩单申请记录列表界面，此界面从不同的业务进入，需要带入参数进入。进入时根据业务类型来做不同的处理。
 * @see 接受参数主要有：
 * @param {*type 业务类型（电子成绩单、电子证明、...）} String
 * @example /pages/workService/components/fileAndReportCardRecord/index?type=电子证明
 */
Page({
  data: {
    type: '', // 类型（电子成绩单&电子证明）
    aOrderRecordList: [], // 订单记录列表数据
    appMsg: {
      type: '', // 状态
      show: false // 是否展示
    },
    details: '', // 传递到下个页面
  },
  onLoad (option) {
    const { type } = option
    switch (type) {
      case '电子成绩单':
        wx.setNavigationBarTitle({ title: '电子成绩单记录' })
        this.setData({ type: '1' })
        break
      case '电子证明':
        wx.setNavigationBarTitle({ title: '电子证明记录' })
        this.setData({ type: '2' })
        break
      default:
        wx.showToast({
          title: '参数错误',
          icon: 'none',
          duration: 2000
        })
    }
  },
  onShow () {
    if (this.data.type) {
      this.getOrderRecordList()
    }
  },
  /**
   * @see 接口-获取订单记录列表
   */
  getOrderRecordList () {
    const { type } = this.data
    const request = {
      moduleType: type // 模块类型（1：电子成绩单，2：电子证明）
    }
    this.setData({
      appMsg: {
        type: 'loading',
        show: true
      }
    })
    wx.$API['workService/getOrderRecordList'](request).then((result) => {
      this.setData({
        appMsg: {
          type: 'loading',
          show: false
        }
      })
      wx.stopPullDownRefresh()
      const { data } = result
      if (data.length) {
        data.forEach((item) => {
          switch (item.tradeStatus) {
            case 1:
              item.tradeStatusText = '交易成功'
              item.tradeStatusColor = '#31AD37'
              break
            case 2:
              item.tradeStatusText = '交易失败'
              item.tradeStatusColor = '#F34E0D'
              break
            case 3:
              item.tradeStatusText = '处理中'
              item.tradeStatusColor = '#FFB911'
              break
            default:
              item.tradeStatusText = '无'
              break
          }
          switch (item.payWay) {
            case 1:
              item.payWayText = 'U米支付'
              item.payCountPriceWay = 'U米'
              break
            case 2:
              item.payWayText = '微信支付'
              item.payCountPrice = formatMoney(item.payCountPrice)
              item.payCountPriceWay = '元'
              break
            case 3:
              item.payWayText = '扫码支付'
              item.payCountPrice = formatMoney(item.payCountPrice)
              item.payCountPriceWay = '元'
              break
            case 4:
              item.payWayText = '免费次数'
              item.payCountPrice = ''
              item.payCountPriceWay = '无'
              break
            default:
              item.payWayText = '无'
              item.payCountPriceWay = '无'
              break
          }
          // if (item.payWay === 2 && item.getStatus === 2) {
          //   item.bIsShow = true
          // } else {
          //   item.bIsShow = false
          // }
          item.bIsShow = false
          this.setData({
            aOrderRecordList: data
          })
        })
      } else {
        this.setData({
          appMsg: {
            type: 'none',
            show: true
          }
        })
      }
    }).catch((err) => {
      wx.stopPullDownRefresh()
      console.log(err)
      this.setData({
        appMsg: {
          type: 'err',
          show: true
        }
      })
    })
  },
  /**
   * @see 点击跳转订单详情页面
   */
  goOrderDetails (e) {
    const orderId = e.currentTarget.dataset.details.orderId
    wx.navigateTo({ url: `/pages/workService/components/orderDetails/index?orderId=${orderId}` })
  },
  /**
   * @see 点击刷新页面
   */
  clickMsgButton () {
    this.getOrderRecordList()
  },
  /**
   * @see 下拉刷新
   */
  onPullDownRefresh () {
    this.getOrderRecordList()
  }
})